package com.eightworld3.supermarket.service;

import com.eightworld3.supermarket.domain.CustomerTab;
import com.eightworld3.supermarket.service.dto.CustomerTabDTO;
import com.eightworld3.supermarket.service.dto.add.CustomerTabAddDTO;
import com.eightworld3.supermarket.service.dto.result.ResponseResult;

import java.util.List;

/**
 * @author EightWorld3
 */
public interface CustomerTabService {
    /**
     * 查询所有
     * @return 返回所有CustomerTab(客户账单)
     */
    List<CustomerTab> selectAll();

    /**
     * 根据tabId查询CustomerTab
     * @param tabId ID号
     * @return 返回tabId对应的CustomerTab对象(经ResponseResult包装类修饰)
     */
    ResponseResult selectByTabId(Integer tabId);

    /**
     * 新增CustomerTab
     * @param customerTabAddDTO CustomerTab新增DTO对象
     * @return 返回当前当次新增状况(经ResponseResult包装类修饰)
     */
    ResponseResult addCustomerTab(CustomerTabAddDTO customerTabAddDTO);

    /**
     * 修改CustomerTab
     * @param customerTabDTO CustomerTab DTO对象
     * @return 返回当前当次更新状况(经ResponseResult包装类修饰)
     */
    ResponseResult updateCustomerTab(CustomerTabDTO customerTabDTO);

    /**
     * 根据tabId删除CustomerTab
     * @param tabId ID号
     * @return 返回当前当次删除状况(经ResponseResult包装类修饰)
     */
    ResponseResult deleteCustomerTabById(int tabId);
}
